use general slot class to push to all types