I think you might be rereinventing the wheel.