refactoring + cleanup + code style