added system.web, reworked public api a bit