use syncronized for now