added extension classes. moved the types into the extension dirs