parser still buggy almost done