add clone method
add some specs