final with plots;)