Add preprocess docs, fix garbage in/out bug

Add documentation on how to use the preprocess option.

Fix a small bug when a user returns back a non-string value.