frame event and node refactoring