added opts for input