tons of changes, implemented functionality, refactoring
final tweaks before first release