Cleaned up argument passing