updated decode