Massive refactor
0.8.0