updated some documentation and cleaned up some apis