implementing unifyed behavior interface