Refactor a lot of code to utilities
Merge pull request #104 from TheUnknownOne/design

Refactor a lot of code to utilities