added the model layer, except adverts and achievement i still think
needs some work if we are implementing it