syncronize with code in last patch set