watcherExp moved to separate package