Some changes to structure and working.