move stuff into core

a