use #pragma once
fix code style
refactoring: use #pragma once
refactoring: cleanup includes