Three variants on a theme by jossujb ;)  (Source at: one | two | three )