basic code implementation done for Extensions, must implement the template