Hiding implementation details thanks to interface