split extensions into separate files (finally)

This is going to make my life way less annoying.