some more implementations, not tested/compiled