refactor forms a little;