(#1) - build step, tests, coverage

almost 100% coverage but not sure the last bits are reachable, ie they might need to come out