Done: component breakdown

Needs cleanup but it’s working :)