cleaned up code, 50/68 passing