implement inner curve