A lot of micro optimization