modified register api