changed private to protected for better friendly inherit, ref #90