First commit. Working and tested.