added %ifdef