First commit with complete v1.0 code