Merge proposed new master to Angular branch

Updated the Angular branch with the proposed new master in #10. The diff makes more sense if #10 is merged first.