make CWalker abstract