techniques added + functioning