refactoring + fixed bugs with userspec + add must be notation