basic wc implementation