Simplified the interface, added basic reader thread