I'm really glad to see somebody doing this work. The last person I can remember actually working through this type of thing on my suggestion was m2m about two or three years ago.