optimize some low hanging fruit in abstract.pyx
update abstract.c