Implement Doomsayer, with tests