Refactor

all tests pass