final commit before merging back to start on pygtk. Field calculations aren't really implemented