split up into separate components