create new shelf
fixed bug code --rebase