principles of inheritance