Overhaul and refactor docs