- hiding some of the internal details