update datactrl, not finished yet