Project for the EPFL cs422 course