add generic and form