added constructors for 0, 1 and 2 arguments