# not checking proc with params list
# mark reason as reason
# fix fire message and spec