extension prototype