Initial commit of protect decorator