added registration and registration checker, not fully working yet.