generalized fsm calls
moved to application:ensure_all_started for start/0
added position mechanics