basic class(interface)