refactored instance variables