version 0.1
comments, refactoring, all working