split things into system