abstract csv manipulation added