allow empty string as valid state
add -p flag to docs and msgs
fix merge conflicts