move enums from global to public
added a diffusing transition between states