now compiles warning free