made parameter components optional