added options to decompose