working on documentation, get almost complete