added docs throughout