This is a final project for 'Computer Language and Practice'