added rainbow cannon functionality