Move 2D object forward

I’ve been trying to make my object move forward in the direction it is facing. But I’ve been unable to do so.

I was trying to do it with MoveTowards(), and adding a gameobject in front of the boat to do it, but I can’t make it work(Direction is the object in front of the boat, and it moves with the boat)

I’m using this code:

public class Player_Movement : MonoBehaviour {

	//Floats
	public float maxSpeed = 3;
	public float speed = 50f;
	public float turnSpeed = 30;

	//Int
	public int accelerationSpeed = 100;//How fast the ship will accelerate.

	//References
	private Vector3 eulerAngleVelocity;//Which way the vehicle will rotate.
	private Rigidbody2D rb2d;
	public Rigidbody2D dir;

	// Use this for initialization
	void Start () {
		rb2d = gameObject.GetComponent<Rigidbody2D>();
	}

	// Update is called once per frame
	void Update () {
		if (Input.GetKey(KeyCode.D)) {
			transform.Rotate(0, 0, -1);
		}
		if (Input.GetKey(KeyCode.A)) {
			transform.Rotate(0, 0, 1);
		}

		if (Input.GetKey(KeyCode.W)) {
			rb2d.AddForce(Vector2.MoveTowards(rb2d.position, dir.position, 1));//This moves the car forward by adding the force of the acceleration speed to the car.
		}

		else if (Input.GetKey(KeyCode.S)) {
			rb2d.AddForce(Vector2.MoveTowards(rb2d.position, dir.position, -1));//This moves the car forward by adding the force of the acceleration speed to the car.
		}
	}
}

Please let me know how to make this work or if there is a simpler way of doing it

Turns out the solution was really simple, I just needed to use transform.up to make the object move forward with AddForce

//Floats
	public float velocity = 3f;//The bigger this number is, the faster the boat will move
	public float projectileVelocity = 3;
	//Int

	//References
	private Rigidbody2D rb2d;

	//Lists
	private List<GameObject> Projectiles = new List<GameObject>();

	// Use this for initialization
	void Start () {
		rb2d = gameObject.GetComponent<Rigidbody2D>();
	}

	// Update is called once per frame
	void Update () {

		//Moves the player forward
		rb2d.AddForce(transform.up * -velocity);

		//Rotates the player
		if (Input.GetKey(KeyCode.D)) {
			transform.Rotate(0, 0, -1);
		}
		else if (Input.GetKey(KeyCode.A)) {
			transform.Rotate(0, 0, 1);
		}
	}