finish contributor function