Use instancetype instead of id