updated most comments. still need to address float comparisons and think about fixed-slippage