For comprehensibility, fixed up comments, reordered methods