some rustdoc comments
initial work for error handling