split ecs.go to separated files; general fix