add recipe_error to recipe.h
move definitions to recipe.h