cleaned up verify method