refactors everything
Merge pull request #16 from kevinquinnyo/full-refactor

refactors everything