2nd step of supporting scala