registration functionality complete