first step of supporting for scala