push vector closer to stl:vector
refactor first/last to front/back