updated traits; use traits when calculating pi (as opposed to forcing you to use a member type)