separated interpreting into separate function