Almost finished version of lab 2