begin concave implementation