add basic declaration gathering