updated our implementation