implementation of subscriber chooser + fixes