tests fixed but need more work