better tests, docs, and syntax