added admin and also methods to restrict access to non-admin users