add framework for basic sock extension support