refactored again, plugin/theme installers added