huge client-side reorg; mega modularized