a bunch of things: improve list generation; generate functions; FRWs