split into client and asp.net libs