added stdio include to avoid printf warning