fully interprets input