First commit. First working implementation.