Step 4: support different delimeters