change: improve scala supporting