Working through the refactor to get all specs to pass