refactor: refact form