registration outlined with thread stuff