fixed for compiler optimization