Improved register API