simplified yield type chcking and added treiber stack (not fully done)
merge