first and second arguments