Added protocols to methods