implement Float64
add Distribution interface and tidy up docs