add parser, socket utility