added two dimensional movement