Stolen out of Github's playbook, made to my liking.