Updated to split client, server, and common