add data and support fill from