2 param constructor