fix #23 - add server/client module