Use instancetype for init