typescript extend class and implement interface