write entry points