add contributor function