batch & single works, not clean