extract ScalaElement into it's own file
gitignore