added case of and constructors