proper declaration support