In almost all methods, there are several choices which need to be made at the implementation stage. These choices are important and a re-implementation of a method will be unlikely to give similar results unless these details are treated the same way.