Major updates, need to rewrite client