added TrySplit