extend prototype