Added Head Mover, changed the pointer to state functions and a main