added swing client solution