adding optimization
adding optimization