doing things client side for simplicity at the moment.