module structure & logging