add some components; refactor plugins (to support uglifying)