form designer refactor