segragate and fix the implementation of GrandCentral