why the extra instance variable?