Add extend and implement functionnality