refactoring. Much python, shibe java. wow