added csv parsing