header and some changes - not complete yet