prefer extension definition main public endpoint