a few unsure optimizations