Cleaned up argument evaluation