implemented basic registration