revise scala code