added assignment
initial refactoring: coalescing useless types, pruning control flow, renaming
* Utils class
* minor refactorings
* notes