updated csv function