Feature 3503

I think this is ready, but I welcome comments!