fixed prototype extend