use entity-component system, for science