merge glitch-free branch back into trunk