split code up