added composite support