add gemp function