clean up; reutrn data