added some of Berseker's ideas