Move from SN

Ground up rewrite