to implement without extending, what do you think ?