made some methods more generic - moved to super class