replaced dash with underline in module's name
Rewrote the code using tryfind function.

The code is more concise now. But at the cost of a little performance.
Also I'm not sure if it helps perogrammer understand the logic of the code.
Altogether maybe it's better to revert this change.
reverting last commit
Long find_... functions now return information indicating "where".

Useful for debugging purposes.

minor: rearranged functions.