updated to follow linux kernel coding style