modified adapter_pattern. use module.

yeah