written documentation for most functions, still need a synopsis