add error print
add generated fucnctions