tweaked x_ modularisation