for the most part, server stuff done