func complete