constructors modified, modifiers fixed