Implement almost all of allowing user to specify delims