add 'watch cards' client function, fix bugs