Major rework & updates