input improvements