add ws function