merge into a single header
fix some issues