Code divided into 3 files