I would change to edit MT code. It usually starts with a clear picture in mind... But even one's own code quickly becomes cryptic without lots of comments and hidden assumptions. I used to have this picture printed and put above a server in a small startup-like team. The whole thing ended not related to any lock or interlocked call though.