crude v1 implementation