better input loading