Updated comments, fixed label update bugs, improved readability and organization