+ tests, minor fixes, refactoring