adding extension framework