Added register
Added tests, register, etc.