add parsing logic