basic class creation and inheritance