generalize operations and try to add index meta method