rename each module
refactor to simpler singleton interface