make compiler independent