clean up: simpler handling of declaration + definition