uses ring init to decouple init form main