its starting to look like the Angular version, and has some of the basic functionality in place