implemented advance and orientation