working on Metric model and interface