re-ordered constructor to protected section