add more js sweetness for nicer user interaction and response