major changes to client