several size optimizations