adding process register, and updated functions