added bunch of client stuff