add merge method
Remove Iterator
bugfix
add isEmpty
add spec