with scala