- use common define for repeated functionality
close #13
-implementation of default block io
- makefiles refactoring