fixed from! consolidated from, from_copy, from_ref to a single from function that uses perfect forwarding and covers all cases at once