rebuilt again, this time with passing tests