uses instance variables instead of class vars for instance related info