Refactor Parser to user Device instead of raw data directly