better client-side architecture along with Wade's API improvements