more coverage and unit tests