20140730 remaded form function