class based interface