First working client-side changes
Working server, just need to add APIs