cleaned up CLParser