working on better input