contract generator UI