all tests now passing (except for 1, method in progress for refactor)