refactor wip not passing