added more constructors for Result