add frontend support, drop duplicate ... etc