separate client into different modules