updating method to be more complete