adding the ability to support external system authentication
adding more tests