Well, this will be much better -- this file is already huge. If you don't do it, I'll have to do it -- so it is a little bit me being lazy to refactor contribution ;-)