add implementation for protect method