290: refactor curve