optimize to  2 seconds