clean up the codes and refactor