implement via inheritance