implemented move method