functional mode switching
functional mode switching
organized code
update on move events
update on move events