First working version.
Known issues:
1) loading from external files is not implemented yet;
2) slashes in module names.