updates to pass all tests