more dynamic forms, upgrader