server part, not yet completed.