changed module structure for easy pull