do not use :id in top function