contribute controller