added missing behavior for registration purpose,
some controller refactorings,
adopted tests to new behavior