skeleton client