layout refactor, mouse events