Added pragma marks throughout