add missing functions definitions for value
revisit callback example