reform user system - closes #8 and #9