Added client, server and shared interfaces for issue #1.