ready to non-blocking operations
move worker inside class