fleshed out contact implementation with name and id setters