Eesh... this is hard! I'll have to think about it and come back.