another one done
more work done, scala stuff incomplete