Major contributions

Minor contributions