updated to use internal config/spec impls vs external and added support for specs referencing other specs