refactored to work with asimov 0.19.x