try to improve performance