this was necessary. there are functions sahred between oligotyping and decomposition libs that require "self" to be passed, which makes them unsuitable for utils. so they will go into this one from now on.