use performance optimization instead of size