Code Tidy and Updated doc to reflect the fact that I removed the code that sets up the instance if the constructor is called with an instance that doesn't have the appropriate functions.