put permissions behind a method
implement groups, fix some messages