mostly updated comments everywhere