Enhancement #18 4.0alpha1 merge

This closes #16 #17  and #18