A more modular client side