fine func complete