The scala tutorial