pat: scala in practice