Version 2.0 2023.04.25
Changes made for better performance