same as previous, keeping up to date with master logic. still no real testing