Ok, here's a first version for you.