prepared for server/client
working server/client version