final organize and refactoring! HAJO! <3