register implementation clean up