Updated docs and refactored some stuff to be inline with current naming and implementation