use default parameters

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
use __block type to manage keys

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
whitespace--

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
Merge branch 'issue/260' into production