updated with parsing ability