add spec
add spec
add method
add spec
add spec
add spec
add spec
add immplements
move to cloak