Extending and refactoring the client side library.