pretty finished, needs server comm