split files
refactoring basically finished
tweak