add extends is evil