bit further down the refactor-hole