untested starting to convert to homemade class