generic container implementation
add sample