better form fill method