move contributor code into its module