reformatted code
documented some types
reformatted code
documented types