adding documentation, moving threshold arguments

also validating threshold as it is now a required argument