Generalized client class and changed package structure