Updated inheritance and private/public/function