improve form and input interface