added gotos: declaration, implementation, definition, imprecise