beginning a form abstraction system