Creating , implementing and extending interfaces