Constraints based drawing programs require users to understand and manage relationships between drawing elements. By establishing constraint relationship among elements the user effectively programs the drawing's behaviour. This programming task requires a more sophisticated visual interface than conventional drawing 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