all tests written now time to solve all