evaluate the entire thing from scratch