use ifndef instead of !