Refactor all file strucure now there are more thinner files