missing incref
add -g debug flag
free more dead objects
make automatically removes executable
add missing return