rules: expose key for other methods
set default key of empty string
expose keys wherever possible
0.7.0