use instancetype for every init method
Merge pull request #256 from denis2342/master