Added heavy documentation