rewriten API for special events