base generated by function