Added further controllers, directives and commentary throughout