I'm sure this can be improved, various mistakes here and this might not even be the fastest route... looking forward to someone showing me how it's done :)