Solutions to the Greplin challenge