you don't have to use two classes here