add interface
add collection spec
add interface