this is for michael's class. sort of