updated with more stuff from class