add slot functionality