Use instancetype for convenience methods
Added missing pragma marks