Some of this is explicit, so beware if you do not like that.