refadtor module structure