add services and controllers (code from Chris Henkel)