some reorg; still not happy with it but a little better