try to merge the code into 1 file