implemented cherry pick functions
added push structure and implemented functions

foreach and set-callback are missing