more refactoring: move eval event to eval controller