added a bunch of stuff for documentation