robust input handling