resolve incomplete implementation warning