implement detail and property