profileing each method