removed multiple inheritence
made constructor protected