communication loop / new api obj spec