goign to make it non-blocking