Final Version for Class