removed custom non generic functions