add prototypes of genl ops