common modules among different client implements