working on putting it all in a class