function structure added