more working tests
working tests and code