implement new rainbow features