a replacement for django.forms