recursive sparse components & various other things