make tests pass. but need to get to them