Finished v1, passing all tests