New logic - server and client