use variadic templates
add networking to build