add contributions functionality