improve perfomence