Implemented registration functionality