add base class BasicIO
modify a bit
add intermediate mark to makefile