Initial working version

The first working code as assignment requests