Split into library and platforms