move parsing logic to separate module