Contributed by Stephen Coles
Contributed by Stefán Kjartansson
Contributed by Scott Mellor
Contributed by errea comunicacion