Refactoring!

Split... prepare to another play...