better services.js but depends on ForumResource (not done)