adding optional parameters