JC: refecotring on views and more CN. spec passes.