a COMP5703 project at University of Sydney