added dist
refactored to remove broadcast