this should not be a core plugin