min
added docs, tests
refactored docs/patterns