added registration and stuff
such a merge