better getsinput