Added a series of commenting, still slightly buggy