splitting logic