created functions structure