https://blog.xjtag.com/2009/10/collecting-user-input-from-xjease/