reimplemented admin check as a decorator