added basic registration functionality