commented a bunch, cleaned up things in general, put the descriptors and
problems in their own packages