more flexible inputs