internal void AddFrames(BinaryReader reader)
		{
			//not the best of approaches - assuming that color frame is the 1st frame followed by depth and skeleton frame
			while (reader.BaseStream.Position < reader.BaseStream.Length)
			{
				var header = (FrameType)reader.ReadInt32();
				switch (header)
				{
					case FrameType.Color:
						var colorFrame = new ReplayColorImageFrame();
						colorFrame.CreateFromReader(reader);
						frames.Add(new ReplayAllFrames { ColorImageFrame = colorFrame });
						break;
					case FrameType.Depth:

						var depthFrame = new ReplayDepthImageFrame();
						depthFrame.CreateFromReader(reader);
						if (frames.Any())
							frames.Last().DepthImageFrame = depthFrame;
						break;
					case FrameType.Skeletons:
						var skeletonFrame = new ReplaySkeletonFrame();
						skeletonFrame.CreateFromReader(reader);
						if (frames.Any())
							frames.Last().SkeletonFrame = skeletonFrame;
						break;
				}
			}
		}