issue #9 - callback functionality