wrapped in a module.

forget about the self-revealing part. wasn't necessary.