Final version of lab 2.