simplified code using instance variables and initialize method - not completely functional