take id as string
better errors
return error when not found
pipeline works both ways
format
service decode and encode works