some micropotimizations