parameterise constructor