Mark override methods
diff --git a/src/main/scala/ECommAlgorithm.scala b/src/main/scala/ECommAlgorithm.scala
index f812619..e10ff8f 100644
--- a/src/main/scala/ECommAlgorithm.scala
+++ b/src/main/scala/ECommAlgorithm.scala
@@ -62,6 +62,7 @@
 
   @transient lazy val logger = Logger[this.type]
 
+  override
   def train(sc: SparkContext, data: PreparedData): ECommModel = {
     require(!data.viewEvents.take(1).isEmpty,
       s"viewEvents in PreparedData cannot be empty." +
@@ -214,6 +215,7 @@
     buyCountsRDD.collectAsMap.toMap
   }
 
+  override
   def predict(model: ECommModel, query: Query): PredictedResult = {
 
     val userFeatures = model.userFeatures
diff --git a/src/main/scala/Preparator.scala b/src/main/scala/Preparator.scala
index 3878ef3..731cca6 100644
--- a/src/main/scala/Preparator.scala
+++ b/src/main/scala/Preparator.scala
@@ -8,6 +8,7 @@
 class Preparator
   extends PPreparator[TrainingData, PreparedData] {
 
+  override
   def prepare(sc: SparkContext, trainingData: TrainingData): PreparedData = {
     new PreparedData(
       users = trainingData.users,