the destruct thing didn't work :( also fixed a bunch of naming bugs
added a namespace and made it so dependencies that are not installed don't break the sort