server side mostly done
start client side