Converted the rest of the implemented items to Scala