Lots of improvements, upgrade from angular 1.2 to angular 1.3, add directives and services