This part is good, though. It can be kept independently of the rest. I think it fixes #3.