All Impl Classes must have private access