refact adapt #41