Added interfaces and rewritten many other things
Bumped version number