refactor to realtime sfide