correct splitting
improve cleanup func, wrap in Token objects