More abstracted:


(large version, 100kb)