private and public method