compile and link without errors
style refactoring