should implement test soonish(tm)