complete instance method