This is still entirely a work in progress any comments suggestions please feel free.