remove old code, tweak specs, refactor to improve coverage