Constraint based draw programs require users to understand and manage relationships between drawing elements. By establishing constraint relationships among elements the user effectively programs the drawing's behaviour. This programming task requires a more sophisticated visual interface than conventional draw programs provide. Users must have available - in a convenient format - information about the structure of the constraints that determine the drawing's interactive edit behaviour. This format must support editing and debugging. CoDraw is a constraint based drawing program that can be interactively extended by its users. This paper describes the CoDraw program and its programming interface.