finishing functional inheritance