patch the file separately to make structrue clear