Split client code to it's own package