finished form module rewrite