adding more argument verifications