remove global var and split concepts to own files