Eng 4008 retry -- previously reviewed except for NValue.hpp