notes and explanations on inheritance