Almost completely done implementing classes