my own scala learning