applied more final on published interface