Drag a rigidbody2D around scene

I have a sprite that a has a rigidbody2D attached to it. I want the player to be able to drag it around scene where ever the mouse or touch input is and the rigidbody physics should apply so the sprite doesnt stay 100% directly under the input at all times.

Sprite example that i want to drag around.

It has been discussed thoroughly here:

http://forum.unity3d.com/threads/rigidbody2d-dragable-script.212168/

I would add force in the direction of the touch:

// add this to your player. Make sure there is a rigidbody2d attached to it.

private Vector2 direction;
public float force = 1000;
private Rigidbody2D r;

void Start () {
    r = transform.GetComponent <Rigidbody2D> ();
} 


void Update {
    if (Input.touchCount > 0) {
        target = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
        direction = (target.transform.position - transform.position).normalized;
        r.AddForce (direction * Time.deltaTime * force);
    }
}

This is untested, but seems right. Let me know if you have problems.