OOD2 Assignment - building a logic gates simulator