implementing Composer