implemented some review stuff, neatned main