First commit with the working parts