Changed type of Result to be more specific, simplifies things later
when using the result, no need to assert type when using