added some more documentation (to be potentially revised again)