make member variables protected and add getter/setter methods