diff --git a/app/models/Achievement.coffee b/app/models/Achievement.coffee
index 47b5391d6..93434d728 100644
--- a/app/models/Achievement.coffee
+++ b/app/models/Achievement.coffee
@@ -9,12 +9,9 @@ module.exports = class Achievement extends CocoModel
   isRepeatable: ->
     @get('proportionalTo')?
 
-  # TODO logic is duplicated in Mongoose Achievement schema
   getExpFunction: ->
-    # TODO DEFAULTS
-    kind = @get('function')?.kind or jsonschema.properties.function.default.kind
-    parameters = @get('function')?.parameters or jsonschema.properties.function.default.parameters
-    return utils.functionCreators[kind](parameters) if kind of utils.functionCreators
+    func = @get('function', true)
+    return utils.functionCreators[func.kind](func.parameters) if func.kind of utils.functionCreators
 
   @styleMapping:
     1: 'achievement-wood'