removed forward declaration