signature calculation in a separate class