all tests passed
todos
square_cost added (for future evaluation)