Add authorization checks, refactor forms