added separate implementations of ContactService for reading contacts from a file and from an in-memory database.