using some stuff from papers