constructors with text variations