First commit. Working but ugly.