Adding type resolver to make the builder easier to test. Adding remaining unit tests