More testing, fix bugs
Full test coverage