lots of edits, user registration implemented