eliminated various constructors