separated without constructors