First commit. It still needs some work.