add web interface code