new conditional module (states as classes)