some code reconstructions (no code changes)