some more parsing logic