Rebase PR #3

Replaces #3 

@ideadapt @awagener does this look correct?