, School of Computer Science and Applied Mathematics University of the Witwatersrand, Johannesburg, South Africa