Added single processing functionality that does not require the multiprocessing module