more work on x-ends