finished implementing Crystal