add map receive, masking/shifting is a bit off