rm excess
core is IO-less/pure