added functionality for dynamic csv parsing