Update code to throw errors and talk to the BCServer properly