web: more implementation