Initial commit, proof of concept, a bit ugly, but it works.