function assembly basics