Simplify
Some changes
New structure