built up framework. Have register logic partially finished