- made 'local' constructor param optional
- throwing an error/exception when no 'username' param value is passed to constructor
- added some unit tests