functional prototype for rust 0.11