add slot struct