Added more documentation + improvements to classes.