allow alone compilation
update header comments