Implemented register- initial version