done with a few other components