refactor, clean code, bugfix