handling header blocks