Added user-error conditions
Tweaked interfaces