package organization refactored.
renaming.
added factory pattern for io components.