finished dynamic hub implementation