First commit with all code