Added new code for decomposition

Signed-off-by: David Evans <dgevans42@gmail.com>