BlockSmasher supports multiple outputs

Close #299