added pointer_t for storing plain pointer values
added observer code
added two test codes