started writing docs; realized i should do another rewrite