added parsing logic