updated docs, updated tests, added reflecty code from modelr