Many changes to structure and logic... trying new things