fix `upon` bug, add working example, bump version