lecutre-functions