using my own network lib