modify some implement to be more fittable