almost done scalaCL part