platform independent model