abstract once function, clarify info and data args