Changing default constructos to protected.