-add license
-make levels removable
-minor refactoring