add my implementation
task 2: charge unit price when distance greater than 2 km
task3: charge extra price when distance greater than 8
refactor: extract basic price, normal price and extra price