bugfix
add oneShot method