restructured definitions; end is ends source and ends compile
cleaned up, header size is 24