put all logic into a babitchService