advanced version of inherited