add data. needs to handle skipped and unset data