some tests, refactor core component (remove Reader abstraction)