added ifndef for header