archive (these site before with long thinkings)