work with codeblocks and no warning