Commiting original work from a private repo
Added the rest of the private repo with histroy removed, except the spec directory
added unit and integration tests after removing private repo names