split up files, beginning of component system.