Additional refactors, new specs and descriptor validation initial revision