Merge Alegend45's latest changes