implemented basic parser