Initial commit, with working versions in Bash and Python