With a bit of this thrown in: