extending interfaces in typescript