refactor, add monochromatic versions