finished tests, fixed last bugs, so code, wow, such pain, much test