inserting requires for proper ordering