Fix unshift bug
Update partial implementation