Terms validation

Fixes #27 
Fixes #28 
Requires d14cda8db0f7db56eff7becf83a67cccee4445b5 (#14)