add! to overwrite, better structure