maybe a better way to join