Major rework in progress. Commiting to not lose work