added lots more api documentation